fputc関数は、ファイルポインタで示されるファイルに1文字出力します。fputc関数とputc関数は機能及び、形式とも同じですが、putc関数はマクロとして実装されている可能性があります。
#include <stdio.h>
int fputc(int c, FILE *stream);
cは出力する1文字を指定します。型名はint型ですので注意してください。
*streamはfopen関数で取得した、ファイルポインタを指定します。
戻り値として、出力した1文字をint型として返します。エラーの場合はEOFの値を返します。
プログラム 例
#include <stdio.h> int main(int argc, char **argv) { FILE *fp_in; FILE *fp_out; int in_data; int return_code = 0; if (argc == 3) { if ((fp_in = fopen(*(argv + 1), 'r')) != NULL) { if ((fp_out = fopen(*(argv + 2), 'w')) != NULL) { while((in_data = fgetc(fp_in)) != EOF) { fputc(in_data, fp_out); } fclose(fp_in); fclose(fp_out); } else { printf('出力ファイルのオープンに失敗しました\n'); return_code = 1; } } else { printf('入力ファイルのオープンに失敗しました\n'); return_code = 1; } } else { printf('実行時引数の数が不当です\n'); return_code = 2; } return return_code; }
例の実行結果
$ cat temp.txt #include <stdio.h> int main() { printf('Hello World!!.\n'); return 0; } $ $ ./fputc.exe temp.txt temp1.txt $ $ cat temp1.txt #include <stdio.h> int main() { printf('Hello World!!.\n'); return 0; } $